home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #5 / Amiga Plus CD - 1996 - No. 5.iso / pd / grafik / jacosub / documentation / jacosub.doc < prev    next >
Text File  |  1996-04-20  |  51KB  |  1,033 lines

  1.           JACOsub: video titling software for professionals
  2.                             version 2.5q
  3.                    Timed Script Editor and Player
  4.              A Product from Unicorn Research Corporation
  5.  
  6.  
  7. This file contains information about running the JACOsub software.  For a
  8. general overview (installation, features, etc.), please refer to the
  9. file Overview.doc.  JScripts.doc contains the complete script format
  10. specification, QuickRef.doc is a quick summary of JScripts.doc, FAQ is
  11. a list of frequently asked questions, ARexx doc contains information about
  12. ARexx communications, and Register.doc contains registration information.
  13.  
  14.  
  15. CONTENTS OF THIS DOCUMENT
  16. =========================
  17.  
  18.  1.  Running the Program
  19.  2.  The Editor Window
  20.  3.  Pull-Down Menus
  21.  4.  Notes About Playing Scripts
  22.  5.  How to Time a Script In Real Time
  23.  6.  Configuration File Format
  24.  
  25.  
  26. 1.  RUNNING THE PROGRAM
  27. =======================
  28.  
  29. Workbench
  30. ---------
  31.  
  32. Just click twice on the JACOsub icon to start the program.  Skip to the
  33. Example at the end of this section.
  34.  
  35. Shell
  36. -----
  37.  
  38. The Shell command for running JACOsub is simply
  39.  
  40.    jacosub [-switches] [scriptname]
  41.  
  42. Command arguments are optional.  Scriptname is the name of the script to
  43. play.  If you specify ONLY the root name of your script (that is, with no
  44. .extension), JACOsub will look for the following files:
  45.  
  46.    scriptname.js       (JACOsub script)
  47.    scriptname.tts      (TurboTitle script)
  48.    scriptname.pjs      (Phoenix Japanimation Society script)
  49.    scriptname.tim      (generic timed script [actually same as .pjs])
  50.  
  51. If more than one of these are found, the newest one will be read in.
  52. Additionally, a compiled script of the same name (with the extension .jsc)
  53. will also be loaded if it is newer than the script you specified.  JACOsub
  54. optionally saves its compiled script so that it will load up quickly in the
  55. future (it can take a few minutes to compile a long script).  The compiled
  56. script is typically over 3 times the size of the uncompiled version.
  57. Default behavior is for this automatic saving to be disabled, because you
  58. are likely to be fiddling with your script, which will require a recompile
  59. anyway.
  60.  
  61. If you DO specify one of the above extensions in your script name, then
  62. JACOsub will attempt to load that specific script, plus the compiled if it
  63. exists and is newer.
  64.  
  65. For Panimator (.pan), Subtitle (.sub), ZeroG (.zeg), and MacSubtitler
  66. (.scr)  scripts, you must convert them to JACOsub format before loading
  67. them into JACOsub, using the JConvert utility.  See Overview.doc for more
  68. information.
  69.  
  70. Commandline switches:
  71.  
  72. -config   lets you specify a configuration file.  The file name must appear
  73.           following a space after the -config switch.  If this switch is
  74.           omitted, JACOsub will look for the file JACOsub.cfg in the
  75.           current directory.
  76.  
  77. -register takes you through the registration procedure.  You will be asked
  78.           for your name and registration code.  After entering these, the
  79.           program will permanently modify itself to reflect your ownership.
  80.           Some features will be unlocked, and the script play display will
  81.           not have that little logo in the lower right corner.  See the
  82.           "Shareware Notice" and "Commercial License" sections near the end
  83.           of this document for details on obtaining a registration code.
  84.           This switch is the same as clicking twice on the "register" icon.
  85.  
  86. -trace    displays a trace of program execution during initializations.  If
  87.           JACOsub crashes when loading, try this switch, then write to the
  88.           author and describe what was displayed.
  89.  
  90. -any other switch causes a help message to be displayed.
  91.  
  92. During script compilation, JACOsub will inform you of its progress as
  93. well as any errors that it finds in your script.
  94.  
  95. Example
  96. -------
  97.  
  98. To see how it all works, run the demo script (called demo.js).  There are
  99. three ways you can do this:
  100.  
  101.    1) From JACOsub:  After starting JACOsub either from the shell or from
  102.       Workbench, press right-Amiga-O Open a script, and select demo.js from
  103.       the file requester.
  104.  
  105.    2) From a Shell:  Just make sure that demo.js, idemo.js, and JACO.bbm
  106.       are in your scripts directory, and type this command:
  107.  
  108.       run jacosub demo
  109.  
  110.    3) From Workbench:  Click ONCE on the demo.js icon.  Then, while holding
  111.       down the SHIFT key, click twice on the JACOsub icon.
  112.  
  113. Once the script is loaded, press right-Amiga-P to play it.  It will be
  114. compiled first if needed.
  115.  
  116.  
  117. 2.  THE EDITOR WINDOW
  118. =====================
  119.  
  120. The first thing you see when you run JACOsub is the editor window.  Besides
  121. the pull-down menus, there are several operations that can be done with the
  122. keyboard and the mouse:
  123.  
  124. - The Shift-Up and Shift-Down arrow keys will page the text up and down.
  125. - The Shift-Left and Shift-Right keys will skip the cursor over words.
  126. - Clicking the mouse on the display will reposition the text cursor.
  127. - Holding down the mouse button on the top line, bottom line, left column,
  128.   or right column of the display will cause the display to scroll.
  129. - Double-clicking the mouse on a line starts a block definition.  Double-
  130.   clicking somewhere else expands the block to the new position.  Double-
  131.   clicking again starts over with a new block definition.
  132. - The function keys F1-F10 may be defined to insert often-used strings.
  133.   Set these with the "FKey macro" selection in the Config menu.
  134. - Press right-Amiga-T to toggle the cursor between the first line and last
  135.   line of your script.
  136. - Press right-Amiga-] to toggle the cursor between the beginning and end
  137.   of the current line.
  138. - Press right-Amiga-/ to toggle between insert and overstrike modes.
  139.  
  140. After compiling a script, any lines which generated warnings or errors will
  141. appear in the editor colored differently from normal, so you can locate
  142. problems more easily.  The alternate colors will stay until you re-compile
  143. your script.  For warnings generated by a pixel collision between a pair
  144. of lines, only the line having the earliest start time in each pair will
  145. be colored differently in the editor.
  146.  
  147.  
  148. 3.  PULL-DOWN MENUS
  149. ===================
  150.  
  151. There are six pull-down menus available in JACOsub, each with several
  152. selections.  Many selections have a keyboard shortcut; these shortcuts are
  153. displayed alongside the selections.
  154.  
  155. File -- file operations
  156. -----------------------
  157.  
  158.    New                  Remove current script from memory.
  159.  
  160.    Open                 Open a new script and load it into the editor.
  161.                         The file MUST be a legal script type; that is, the
  162.                         name must end in .js, .tts, .pjs, or .tim.
  163.  
  164.    Insert file          Insert a file ahead of the current line.  You can
  165.                         use this selection to load up any ASCII file that
  166.                         is not an actual script.
  167.  
  168.    Save                 Save the script using the current name.
  169.  
  170.    Save as              Save the script under another name.
  171.  
  172.    Save stripped        Save the highlighted block stripped of timecodes
  173.                         and/or comments and script commands.
  174.  
  175.    Save block           Save the current highlighted block to a file.
  176.  
  177.    Print block          Print the current highlighted block to device prt:.
  178.  
  179.    View IFF file        Preview pictures in the graphics directory.
  180.  
  181.    About                Display some information about JACOsub & free RAM.
  182.  
  183.    Shell                Open a DOS commandline shell.
  184.  
  185.    Quit                 Exit the program.
  186.  
  187. Edit -- editing operations
  188. --------------------------
  189.  
  190.    Block start          Mark the beginning of a block at the current line.
  191.  
  192.    Block end            Mark the end of a block at the current line.
  193.  
  194.    De/Select all        Toggle marking/unmarking of all lines in script.
  195.                         If a block is already marked, it will be cleared.
  196.  
  197.    Cut block            Cut currently-marked block from the script, and
  198.                         save it in the clip buffer.
  199.  
  200.    Copy block           Copy currently marked block into clip buffer.
  201.  
  202.    Insert block         Insert clip contents into script ahead of the
  203.                         current line.
  204.  
  205.    Hex character        Insert an unusual/foreign character not normally
  206.                         available from the keyboard.
  207.  
  208.    Delete line          Delete the current line under the cursor.
  209.  
  210.    Undelete line        Insert last deleted line ahead of the current line.
  211.  
  212.    Jump to line         Enter a line number to jump to.
  213.  
  214.    Beg/End of line      Toggle cursor between beginning and end of line.
  215.  
  216.    Top/End of file      Toggle cursor between beginning and end of script.
  217.  
  218.    Overstrike           Toggle between insert and overstrike editing modes.
  219.  
  220. Search -- searching and replacing
  221. ---------------------------------
  222.  
  223.    Find                 Search for a string.
  224.  
  225.    Replace              Search and replace a string (singly or multiply).
  226.  
  227.    Go next find/rpl     Go to next search or replace occurrence.
  228.  
  229. Script -- playing and other script operations
  230. ---------------------------------------------
  231.  
  232.    Play script          Play the script, compiling first if needed.
  233.                         Pressing ESC during compilation returns you to the
  234.                         editor.  Prior to playing, you may adjust several
  235.                         settings: play mode (normal, running clock, or
  236.                         manual step), ramp & shift values, and begin time.
  237.  
  238.    Play block           Play only the highlighted block.
  239.  
  240.    View line            See what current line will look like during play.
  241.  
  242.    MouseMove line       Position a title with the mouse (WYSIWYG).  Other
  243.                         titles and graphics which are timed to appear on
  244.                         the screen at the same time as the selected title,
  245.                         will also be displayed for reference, if the
  246.                         selected line is inside a highlighted block.
  247.  
  248.    Text Directive       Display a dialog box allowing you to set directives
  249.                         relating to text appearance.  The editor's cursor
  250.                         must be positioned on a timed line or on a
  251.                         #DIRECTIVE command line.  This is easier than
  252.                         remembering all those directives (see JScripts.doc
  253.                         or QuickRef.doc), but you'll still need some
  254.                         knowledge of their capabilities before playing with
  255.                         this menu selection.
  256.  
  257.    Time overlap warn    Warn during compile if the time range for any line
  258.                         overlaps the time range for the previous line.
  259.                         "Previous line" here means physically previous in
  260.                         the script.  No checks are made for timer overlaps
  261.                         for other lines further away, or for lines in
  262.                         external included scripts.
  263.  
  264.    Collision warn       Warn during compile if two rectangular regions
  265.                         containing titles overlap during the same time
  266.                         range.  Compiler pass 2 will inform you of the time
  267.                         event and the text fragments in collision.  All
  268.                         collisions should be picked up here, even ones that
  269.                         occur between titles in different included scripts.
  270.  
  271.    Compile script       Compile the script (this is automatically done when
  272.                         you play a script, so you will rarely need this).
  273.                         You can abort long compilations by pressing ESC.
  274.  
  275.    Save compiled        Dump the compiled script data structures to a file.
  276.                         The file will have the extension .jsc on its name.
  277.  
  278. Timing -- operations for manipulating time events
  279. -------------------------------------------------
  280. IMPORTANT:  There are some operations where you are asked to enter numbers.
  281. In all of JACOsub's numerical handling, numbers after a decimal point DO
  282. NOT represent fractions of a second.  They represent whole time units.
  283. 12.4 and 12.004 mean the same thing: 12 seconds plus 4 time units.  The
  284. number of time units per second is determined by your #TIMERES setting in
  285. your script.  Default is 30/second if not specified.  Suppose you are using
  286. 100 units/second and want to specify 0.4 seconds.  You must specify 40
  287. UNITS.  That is .40, not .4 (.4 would be 4 units, i.e. 0.04 seconds).
  288.  
  289.    Time block           Time the lines that have timing numbers, in a
  290.                         highlighted block, or in a selected track in the
  291.                         block.  See the section "How to Time a Script"
  292.                         below for more details.
  293.  
  294.    Punch-In timing      "Plays" a pre-timed block in the timing display,
  295.                         allowing you to toggle between playing and timing
  296.                         by pressing the R key.  The block, or the selected
  297.                         track, must be timed and the start times must be
  298.                         sequentially ordered.
  299.  
  300.    Time endtimes only   This is a variant of punch-in timing where only
  301.                         the endtimes are recorded as the block is played.
  302.                         This option should not be selected until you have
  303.                         timed a block the normal way first.  Endtimes which
  304.                         extend beyond following start times will be
  305.                         shortened to the next start time.
  306.  
  307.    Ramp block           Ramp-adjust times in a block for drift.
  308.  
  309.    Shift block          Shift all times in a block up or down.
  310.  
  311.    Shift endtimes       Shift only endtimes in a block up or down, to
  312.                         lengthen or shorten the title durations.  Beware
  313.                         of creating unintentional timing overlaps!
  314.  
  315.    Time-divide block    Equalize the differences between start times in a
  316.                         block, so that all titles have the same duration.
  317.  
  318.    Auto-endtime         Intelligently adjust title durations in a block,
  319.                         depending on character length, default minimum
  320.                         duration, and next-title start time.
  321.  
  322.    Time format & resolution (submenu)
  323.       H:MM:SS.FF        Convert times in a block to H:MM:SS.FF format.
  324.       @Frame counts     Convert times in a block to @FFFFFFF format.
  325.       New counts/sec    Change time resolution & format over entire script.
  326.  
  327.    Resolve #R's & #S's  Resolve times for all #R and #S commands, and
  328.                         remove the #R and #S commands from the script.
  329.  
  330.    Insert dummy times   Insert dummy start and stop times in front of every
  331.                         untimed non-blank uncommented line in a block.
  332.  
  333.    View play ramp&shift Show the current script play ramp & shift setting.
  334.  
  335.    Equivalences         Calculate time equivalences between normal
  336.                         H:MM:SS.FF format, @NNNNNNN format, 1/60 second
  337.                         counts, and 1/50 second counts, for various time
  338.                         resolutions.  Changing any input affects all the
  339.                         others.
  340.  
  341. Config -- configuring JACOsub
  342. -----------------------------
  343. NOTE:  Selecting "Save" in any Config requester will save the entire
  344. program configuration, not just the information in that requester.  The
  345. software must be registered to save program configurations.
  346.  
  347.    General settings     Set general configuration parameters (these
  348.                         settings are described under "General Settings" in
  349.                         the Configuration File section below).  Fonts and
  350.                         Function Keys have their own menu selections.
  351.  
  352.    FKey macros          Set function key macro strings.
  353.  
  354.    Titling Fonts        View or set currently-loaded fonts to be used for
  355.                         playing scripts.  The fonts shown are usually those
  356.                         that were initially loaded, unless they were
  357.                         overridden by your script.
  358.  
  359.    Playing / video      Set play behavior parameters (includes both the
  360.                         "Play Behavior" and "video" settings described in
  361.                         the Configuration File section below).
  362.  
  363.    Load config          Load a new configuration.
  364.  
  365.    Save config          Save the program configuration (software must be
  366.                         registered).
  367.  
  368.  
  369. 4.  NOTES ABOUT PLAYING SCRIPTS
  370. ===============================
  371.  
  372. Play modes
  373. ----------
  374.  
  375. There are three modes; normal real-time, real-time with a running clock
  376. display, and step play.
  377.  
  378.    normal:         This is the normal play mode to use when making a final
  379.                    master.
  380.  
  381.                    *  The "Loop" button appearing next to the Normal play
  382.                       selection causes your script to loop forever, which
  383.                       is useful for displaying cyclic scripts such as
  384.                       convention schedules.  At the end of each pass, there
  385.                       will be a short delay while video buffers are
  386.                       refilled before the script begins anew.
  387.  
  388.                    *  Selecting "Beep" causes each time event to be
  389.                       signaled by a short beep during play.  This gives you
  390.                       an audio cue to indicate script timing accuracy.
  391.  
  392.    running clock:  This mode puts a small screen in front of the video
  393.                    title display, showing a digital clock plus ramp and
  394.                    shift information.  You can drag the clock up and down.
  395.                    JACOsub will raise all bottom-positioned text a little
  396.                    bit so that the clock won't cover up too much.  If it is
  397.                    covering too much for your taste, you can temporarily
  398.                    raise this text by inserting a command like #D VB32 in
  399.                    your script (see "Compiler Commands" in the file
  400.                    JScripts.doc).
  401.  
  402.                    The clock display may appear to run erratically at
  403.                    times.  This happens when JACOsub is too busy generating
  404.                    images in background video buffers and cannot update the
  405.                    clock display as frequently.  Do not worry; internal
  406.                    timing is not affected.  The clock display is mainly for
  407.                    using with a blank script so you can record a clock on
  408.                    your video for manual (that is, highly accurate) timing.
  409.  
  410.                    The "Beep" selection works in this play mode also,
  411.                    although the "Loop" selection works only in normal play
  412.                    mode.
  413.  
  414.    step play:      This mode allows you to step manually through your
  415.                    script to see how each screen will appear during real-
  416.                    time play.  This play mode builds its imagery on the
  417.                    visible display, so you can see how each screen gets
  418.                    generated.  The spacebar steps forward 1 screen, and
  419.                    backspace steps backward up to 6 screens, depending on
  420.                    how many video buffers exist.  Any special effects
  421.                    (see the E directives in JScripts.doc) will be ignored.
  422.  
  423.                    *  The "Pre-load buffer" button causes imagery to be
  424.                       pre-loaded one buffer ahead of the current view.
  425.                       This is useful for live "on-air" environments where
  426.                       manual control is desired.  Normally, pre-loading
  427.                       is turned off for step play.  With no pre-loading,
  428.                       the buffer's time event is displayed in the top left
  429.                       corner, and the view is drawn while you watch.
  430.  
  431. On-the-fly time shift adjustments
  432. ---------------------------------
  433.  
  434. You may adjust the absolute time shift during play by pressing the + key
  435. to increase the times (i.e. delay them) and - to decrease the times.  The
  436. amount of shift is changed by the ramp&shift increment you set up prior
  437. to playing the script.  After your script is finished playing, you may
  438. select the "View play ramp&shift" menu to view the settings.
  439.  
  440. On-the-fly ramp drift adjustments
  441. ---------------------------------
  442.  
  443. During play, you can make ramp time adjustments on the fly.  Suppose you
  444. have the ramp&shift increment set to 0.10 sec.  Pressing the down-arrow
  445. key will decrease the ramp time adjustment by 0.1 seconds, and pressing the
  446. up-arrow key will increase it by 0.1 seconds.  THE CHANGE WILL OCCUR AT THE
  447. TIME-POINT WHERE YOU CHANGED IT.  For example, if the script play is 20%
  448. complete (1/5 done) and you pressed the up-arrow key, time events would be
  449. increased by 0.1 seconds AT THAT TIME -- this would increase the ENDING
  450. ramp time by five times that amount (i.e. 0.5 seconds) because the play is
  451. only 1/5 complete at the time you made the change.  The running clock
  452. display will show you the ENDING ramp time.  After your script finishes
  453. playing, you may select "View play ramp&shift" to view the settings.
  454.  
  455. Beware of adjusting ramp time near the beginning of the script!  Doing this
  456. too early in the play will result in a drastically huge change at the end
  457. (for example, if the playing is 1/100 complete, a 0.1 sec change in ramp
  458. time will result in a 10-second change near the end!).  Don't be
  459. disconcerted by the Ramp display on the running clock; as stated before, it
  460. shows the ENDING ramp adjustment.  On-the-fly ramp adjusting is wonderful
  461. when you get used to it.  Usually you will only have to make three or four
  462. adjustments during the entire script play, whereas straight time shift
  463. adjustments have to be done many times at regular intervals to keep the
  464. script in sync with the video.
  465.  
  466. IMPORTANT:  If you find that you need significantly more than 10 seconds of
  467. ramp adjustment per 30 minutes of script, then your genlock is having an
  468. adverse affect on your system clock.  GET THIS FIXED!  Do NOT use JACOsub
  469. to "fix" the problem with a bigger ramp adjustment; you are only CURING THE
  470. SYMPTOM of a serious problem, not curing the cause!  Besides, if a ramp
  471. adjustment becomes too large, an internal math overflow can occur,
  472. resulting in a sudden time jump.  If you need large ramps, get some
  473. technical support from your genlock vendor instead.
  474.  
  475.  
  476. 5.  HOW TO TIME A SCRIPT IN REAL TIME
  477. =====================================
  478.  
  479. The slowest but most accurate method of timing is to do it manually:
  480. step-frame your video, observing either a frame counter or a running clock
  481. pre-recorded on the video, and manually entering each time event into the
  482. script.  This is how AnimEigo times their scripts, using a device that
  483. shows the voice audio level on each frame.
  484.  
  485. Real-time timing is quicker but often results in more errors.  Either way,
  486. timing a script accurately is a tedious chore.
  487.  
  488. JACOsub attempts to make this process easy and flexible in real time
  489. without sacrificing accuracy.  Many errors occur from trying to time an
  490. entire script all at once.  These errors are caused by operator fatigue,
  491. distractions, and short attention span.  Fixing these errors is often a
  492. painfully slow process.
  493.  
  494. JACOsub allows you to time your script in small sections.  This process
  495. gives you the ability to correct small mistakes easily, and helps you keep
  496. your mind alert.  Other features to make timing easier include on-the-fly
  497. mistake correction, automatic title lowering so that you need only be
  498. concerned with raising titles, and a "punch-in" timing mode that allows you
  499. to make real-time adjustments to a block that has already been timed.
  500.  
  501. To time a section of your script, first highlight it as a block in the
  502. editor.  Before timing, each title to be timed MUST have a start and stop
  503. time; "dummy" values will work.  If some of the highlighted titles don't
  504. already have start and stop times, the program will tell you and give you
  505. the option of inserting them.  Or, you can select "Insert dummy times" from
  506. the script menu, and JACOsub will analyze the highlighted block and insert
  507. start and stop times to all the lines that require them.
  508.  
  509. Check to be sure that the correct lines have start and stop times, and then
  510. select "Time block" from the Timing menu.  You will see a dialog box with
  511. these timing parameters:
  512.  
  513.    Start at:  This is start time of the first line in the block.  The
  514.               default value is whatever the current start time is for
  515.               that line.  This parameter is useful for "stitching" your
  516.               separately-timed sections together -- just make sure that
  517.               the first line of each new section was the last line of
  518.               the previous section.
  519.  
  520.    Minimum:   Minimum duration of each title in milliseconds.  All titles
  521.               will have a duration of at least this amount unless
  522.               superceded by a new title.  2000 milliseconds is a good
  523.               value to start with.
  524.  
  525.    Plus:      Additional duration to add to the minimum, in milliseconds
  526.               per character of title length.  Longer titles take longer to
  527.               read.  33 ms/char is a good number to use; experiment until
  528.               you find a satisfying personal preference.  If you have a
  529.               combination of "minimum" and "plus" which you find
  530.               particularly useful, please inform the author.
  531.  
  532.    Gap ____ msec if < ____ % diff:  Number of milliseconds of blank space
  533.               to insert between successive titles when raised with a forced
  534.               gap, if the title lengths differ by less than the % change.
  535.               Normally, raising a title before the previous one expires
  536.               will cause the previous title's end time to be equal to the
  537.               new title's start time.  This saves video buffers during
  538.               script play, and allows for clean transitions between
  539.               titles.  However, if two successive titles look similar
  540.               (e.g. the same number of lines of the same length), the
  541.               viewer may not notice the title has changed while watching
  542.               the video.  Forcing a gap (see below) causes a brief blank
  543.               interval to flash onto the screen, providing a more
  544.               noticeable break between titles.
  545.  
  546.    Output resolution:  Number of units/second to use when modifying the
  547.               times in the script.  The default will be whatever is current
  548.               in your script.
  549.  
  550.    Track:     If you have used the T directive to designate any of the
  551.               highlighted titles as separate timing tracks, this cycle
  552.               gadget will appear, allowing you to select, for timing, one
  553.               or all of the tracks present in the highlighted block.
  554.  
  555. After selecting OK, the timing display will appear.  The top half of the
  556. display contains mouse and key instructions.  This top half is mostly
  557. transparent to video, so you can view your video through a genlock while
  558. timing your script.  The bottom half contains three fields:
  559.  
  560.    Used titles list:        The last three titles timed to completion.
  561.    Currently raised title:  The current title being timed.
  562.    Waiting titles list:     The next four titles waiting to be timed.
  563.  
  564. Initially only the Waiting list contains anything.  Timing will begin when
  565. you raise the first title.  The operations available to you may include:
  566.  
  567. Raise next title (SPACEBAR or left mouse button):
  568.    Raise the next title in the Waiting list.  If another title is currently
  569.    raised, it will be lowered and placed in the Used list when the next
  570.    title is raised.
  571.  
  572. Raise next title with a forced gap (TAB or double-click left mouse button):
  573.    Same as above, with the difference that if a title is currently raised,
  574.    its end time will be shortened slightly to create a gap between it and
  575.    the next raised title, provided the two title lengths are sufficiently
  576.    different as specified in the timing set-up dialog box.
  577.  
  578. Lower current title (RETURN key or right mouse button):
  579.    Lower the currently-raised title if one exists.  You should never need
  580.    to do this if you have properly set your auto-duration parameters.  The
  581.    default behavior for the right mouse button is to lower the current
  582.    title.  You can change this behavior using the RMB gadget in the
  583.    General Config menu selection.
  584.  
  585. Back up (BACKSPACE or right mouse button):
  586.    If a title is currently raised, it is put back into the Waiting list.
  587.    If no title is currently raised, the last Used one is put back into the
  588.    Waiting list.  You cannot back up if performing punch-in timing.  The
  589.    right mouse button normally causes the title to be lowered; you can
  590.    change it to back up instead with the RMB gadget in the General Config
  591.    menu selection.
  592.  
  593. Skip Raised or next Waiting title (DEL key or right mouse button):
  594.    The next Waiting title is put into the Used list.  If a title is already
  595.    raised, it will be placed into the Used list instead, and its endtime
  596.    will not be affected.  Skipped titles will not have their times modified
  597.    in the script.  Use the RMB gadget in the General Config menu selection
  598.    to change the behavior of the right mouse button to skip titles, if you
  599.    so desire.
  600.  
  601. Abort operation (ESC key):
  602.    Abort the timing and return to the editor.  Script times will not be
  603.    modified.  Only by finishing the whole section will any times be
  604.    modified.
  605.  
  606. Toggle instructions, Used / Waiting (I, U, W keys):
  607.    Pressing I causes the instructions in the top half of the display to
  608.    disappear.  Press I again to make them reappear.  Pressing U or W
  609.    changes the size of the Used or Waiting titles lists, respectively.
  610.    They will cycle between 1 and 5 lines in height.  The size of these
  611.    fields will be saved for the future if you save the program
  612.    configuration.
  613.  
  614. After timing the script block, you may move on to the next section.  Simply
  615. make sure that the last title you timed in the previous block is the first
  616. title to be timed in the next block.  The start time of the new block will
  617. default to the start time of the first line in the block.  In this way, the
  618. blocks are "stitched" together.
  619.  
  620.  
  621. 6.  CONFIGURATION FILE FORMAT
  622. =============================
  623.  
  624. You can skip this section.  JACOsub's configuration file is transparent to
  625. you -- you can modify the configuration from any of the Config menu
  626. selections, and the program saves its configuration in a file called
  627. JACOsub.cfg whenever you select "Save Config" from the Config menu
  628. (provided the program has been shareware-registered).  JACOsub will set its
  629. own defaults for parameters omitted in JACOsub.cfg (and also if the file
  630. doesn't exist).  The settings in the file are documented here just for the
  631. sake of completeness.  Settings come in three categories: General, Play
  632. Behavior, and Video Display.
  633.  
  634. When running JACOsub from a Shell, you can specify which config file you
  635. want using the -config commandline switch, or you can run JACOsub from
  636. whichever directory that contains the desired config file.
  637.  
  638. Each line in the JACOsub.cfg file may be: a blank line, a comment (must
  639. begin with a # character), or a setting.  Settings have the following form:
  640.  
  641.    SETTING <argument1> <argument2> ...
  642.  
  643. Here are the settings and their possible arguments.  They may be either
  644. uppercase or lowercase.  The default settings indicated are what you get if
  645. you omit a particular setting from your config file.  Parameters inside
  646. brackets [] are optional; those inside bra-kets <> are mandatory.
  647.  
  648. General Settings
  649. ----------------
  650.  
  651. AUTOENDTIME <overall (msec)> <add'l (msec/char)> <gap (msec)> <threshhold%>
  652.    [changed in AutoEndtime or Time Script menu selection]
  653.    When timing a script or performing the Automatic End Time adjustment
  654.    feature, JACOsub needs to know what default time duration you want for
  655.    your titles.  <overall> is the minimum duration in milliseconds.  Titles
  656.    appear on the screen for at least this length of time (this duration is
  657.    shortened during timing if you raise another title before the current
  658.    title has expired).  <add'l> is the additional amount of time to display
  659.    the title, expressed in milliseconds per character.  The character count
  660.    of the title does not include directives, embedded comments, or embedded
  661.    escape codes - only the title text itself.  <gap> is the amount of blank
  662.    space to force between titles when a new title is raised before the
  663.    calculated end for the previous title.  The gap will appear if the
  664.    percentage length difference between the two titles is less than
  665.    <threshhold%>, otherwise the previous title will end when the new title
  666.    begins.  Setting <threshhold%> to zero disables the forced gap.
  667.    Default:
  668.    AUTOENDTIME 2000 33 50 20%
  669.  
  670. DIRECTIVE <directive string>
  671.    [changed in General Settings menu selection or with #D script command]
  672.    Sets the initial global D directive for all scripts.  Don't be scared by
  673.    the huge default string shown below; yours won't ever look like this.
  674.    See the "Directive" section in the format specification documentation
  675.    JScripts.doc for complete understanding.  Anything you set here
  676.    represents a _change_ to the default string below, not a replacement.
  677.    Default:
  678.    DIRECTIVE HL1HR99VH100VT16VB16JCJBFFDF0FB1FO0FSSE0SNCF3CB0CP0CS0:0:2W1E0
  679.  
  680. DURATIONWARN <number of seconds>
  681.    [changed in the General Settings menu selection]
  682.    If you inadvertently set a title's start and stop times so that its
  683.    duration is too long, you might want JACOsub to warn you about it when
  684.    your script is compiled.  This problem sometimes occurs when compiling
  685.    TurboTitle scripts, where some "null" lines can have a start time of 0
  686.    and a stop time of 9 hours!  This setting lets you set the minimum title
  687.    duration that will trigger a warning during script compilation.
  688.    Default:
  689.    DURATIONWARN 200
  690.  
  691. EDITORWINDOW <LeftEdge> <TopEdge> <Width> <Height>
  692.    [changed with the editor window drag bar and the resizing gadget]
  693.    This determines the initial position and size height of the editor
  694.    window.  Minimum window size is 420x150.  To change this setting while
  695.    using JACOsub, simply use the mouse to change the size of the editor
  696.    window and save the program configuration.
  697.    Default:
  698.    EDITORWINDOW 0 2 640 198
  699.  
  700. FKEY <key number> <macro string>
  701.    [changed in the Fkey macro menu selection]
  702.    You may set any of the 10 function keys to send a string (up to 80
  703.    characters) to the editor.  This is useful to keep from typing commonly
  704.    used strings over and over again.  <key number> should range from 1 to
  705.    10, and you should not have a comment behind the macro string or it will
  706.    be included as part of the string.
  707.    Default:  FKEY 10 9:00:00.00 9:00:00.0 D
  708.              (This is useful for inserting dummy times in front of lines)
  709.              Function keys 1 - 9 are not set.
  710.  
  711. FONT <n> <fontname.font> <size> [CLEAN or QUICK&DIRTY] [Y/X]
  712.    [changed in Title Fonts menu selection or with #F script command]
  713.    Sets font <n> to <fontname.font> which is <size> pixels high.  <n> must
  714.    range from 0 to 9.  The font should be a proportional-spaced color font,
  715.    although you can use any font.  You will normally NEVER need the fourth
  716.    argument.  The CLEAN argument (default for color fonts with overlapping
  717.    characters if omitted) tells JACOsub to display this font "cleanly,"
  718.    that is, to avoid an artifact of the Amiga's text rendering operation
  719.    that results in color interference problems when rendering fonts with
  720.    overlapped characters (such as the JACOsub 36 and 32 fonts).  With
  721.    CLEAN, only color 3 text will be rendered quickly; other colors will be
  722.    rendered one character at a time instead of a line at a time.
  723.    QUICK&DIRTY forces the font to render quickly, with the resultant color
  724.    interference problems.  QUICK&DIRTY is the default for mono-color fonts,
  725.    and for color fonts without overlapping characters.  The Y/X parameter
  726.    is the font's initial aspect ratio (AmigaDOS 2.0+), and defaults to
  727.    100/100.  Once an aspect ratio is set for a certain font and size, it
  728.    cannot be changed later.
  729.    Defaults:
  730.    FONT 0   JACOsub.font 36    (primary font)
  731.    FONT 1   JACOsub.font 32    (secondary font)
  732.    FONT 2   JACOsub.font 32
  733.    FONT 3   JACOsub.font 32
  734.    FONT 4   JACOsub.font 32    (Note: fonts 4 through 9 are
  735.    FONT 5   JACOsub.font 32    not available unless the software
  736.    FONT 6   JACOsub.font 32    has been registered.)
  737.    FONT 7   JACOsub.font 32
  738.    FONT 8   JACOsub.font 32
  739.    FONT 9   JACOsub.font 32
  740.  
  741.    Important point about fonts:
  742.    Color fonts should be designed so that bitplane 0 (color 1) contains the
  743.    font face imagery, while bitplane 1 (color 2) contains the outline and
  744.    dropshadow imagery.  JACOsub assumes all color fonts are designed this
  745.    way.  This design is necessary for face color control and rendering
  746.    efficiency.  The TurboTitle font was not designed this way, so it will
  747.    look all wrong unless you use a font editor to reassign the bitplanes.
  748.  
  749. GRAPHICPATH <path for graphics files>
  750.    [changed in the General Settings menu selection]
  751.    Tells JACOsub the directory where it should expect to find IFF graphics.
  752.    Default:  the "scripts" directory under the current directory.
  753.    GRAPHICPATH scripts
  754.  
  755. MAKEBACKUP <YES or NO>
  756.    [changed in the General Settings menu selection]
  757.    If set to YES, JACOsub will copy your original script on your disk to
  758.    the T: directory before saving an updated version.  Under normal
  759.    AmigaDOS configurations, the T: directory is on the ramdisk.
  760.    Default:
  761.    MAKEBACKUP NO
  762.  
  763. SAVECOMPILED <YES or NO>
  764.    [changed in the General Settings menu selection]
  765.    Tells JACOsub whether or not to save compiled versions of your scripts
  766.    automatically.  Compiled scripts load up quicker than raw ASCII scripts,
  767.    but they consume more disk space.  You are not likely to need this
  768.    setting.
  769.    Default:
  770.    SAVECOMPILED NO
  771.  
  772. SCRIPTPATH <script path>
  773.    [changed in the General Settings menu selection]
  774.    Tells JACOsub the directory where it should expect to find scripts.
  775.    Default:  the "scripts" directory under the current directory.
  776.    SCRIPTPATH scripts
  777.  
  778. SHOW_TIPS <YES or NO>
  779.    [changed in the General Settings menu selection]
  780.    This setting, if YES, causes a helpful tip to be displayed after the
  781.    program starts up.  The file tips.txt contains the tips plus
  782.    instructions for modifying the file to your liking.
  783.    Default:
  784.    SHOW_TIPS YES
  785.    
  786. TIMELISTLEN <used list length> <waiting list length>
  787.    [changed on the timing screen]
  788.    These variables control the length, in number of lines, of the "used"
  789.    list of titles and the "waiting" list of titles on the timing screen.
  790.    Minimum value is 1, maximum 5.
  791.    Default:
  792.    TIMELISTLEN 3 4
  793.  
  794. TIMING_RMB_ACTION <LOWER or BACK or SKIP>
  795.    [changed in the General Settings menu selection, RMB gadget]
  796.    This setting controls the behavior of the right mouse button during
  797.    timing.  By default, the right mouse button will behave the same as the
  798.    RETURN key during timing, forcing a raised title to be lowered before
  799.    its time duration has expired.  The BACK and SKIP settings duplicate
  800.    the functions of the BACKSPACE and DEL keys, respectively, to back up
  801.    or skip a title.
  802.    Default:
  803.    TIMING_RMB_ACTION LOWER
  804.  
  805. WRAPWARN <lines>
  806.    [changed in the General Settings menu selection]
  807.    If a JACOsub auto-wordwraps a title to too many lines, you can use this
  808.    setting to make JACOsub inform you when this happens.  During script
  809.    compilation, you will be notified if a wordwrapped title exceeds <lines>
  810.    number of lines.  Manual wraps using the end-of-line \n code are not
  811.    taken into account.  Setting <lines> too low will result in a lot of
  812.    notices, especially on smooth-scrolled titles which typically undergo
  813.    many, many wordwraps.  The minimum value allowed is 2.
  814.    Default:
  815.    WRAPWARN 50       (This value effectively turns off warnings)
  816.  
  817. Play Behavior Settings
  818. ----------------------
  819.  
  820. ANTIALIASCOLOR <color number>
  821.    [changed in the Playing / Video menu selection]
  822.    This setting is relevant only when JACOsub generates its own outlines
  823.    around mono-color fonts (which is not the case with the JACOsub
  824.    distribution fonts).  The color you specify here will be used inside the
  825.    font outline, 1 pixel to the left and right of the font image.  This
  826.    color should be neutral gray or a half-intensity face color, which you
  827.    can set with the PALETTE  setting below.  The default is color 2, which
  828.    should *always* be black.  Because outlines are also black, a setting of
  829.    2 results in no anti-aliasing when font outlines are generated (it's
  830.    also faster).
  831.    Default:
  832.    ANTIALIASCOLOR 2
  833.  
  834. CLOCKHEIGHT <NORMAL or TALL>
  835.    [changed in the Playing / Video menu selection]
  836.    The running clock display can be made twice as tall as normal.  This
  837.    setting is useful if you have trouble reading the clock display during
  838.    frame-stepping in your video tape.
  839.    Default:
  840.    CLOCKHEIGHT NORMAL
  841.  
  842. RAMPSHIFTINCR <milliseconds>
  843.    [changed prior to playing a script]
  844.    This setting determines the initial on-the-fly ramp and shift adjustment
  845.    increment.  Ramp and shift corrections made during script play will be
  846.    changed by this amount.  You may change this increment from the program
  847.    when you try to play a script.
  848.    Default:
  849.    RAMPSHIFTINCR 100     # 100 milliseconds = 1/10 second
  850.  
  851. SHADEPATTERN <line1> <line2> <line3> <line4>
  852.    [changed in the Playing / Video menu selection]
  853.    Sets the shade pattern for the CS directive (see the "Directive" section
  854.    in JScripts.doc).  The pattern is bit mask 16 pixels wide and 4
  855.    scanlines high, specified by line1-line4, which must be 16-bit
  856.    hexadecimal numbers (these numbers represent each scan line for the
  857.    mask).  The default is two solid horizontal scanlines followed by two
  858.    blank scanlines, because this seems most reliable for all genlocks.
  859.    Some genlocks will grossly distort the video image if you try to specify
  860.    a complex mask like the default which turns on every other dot.  For
  861.    other genlocks like the SuperGen or GVP, this mask results in a beautiful
  862.    transparent video darkening effect.  The hexadecimal paramters may be
  863.    uppercase or lowercase.
  864.    Default (vertical lines every other pixel):
  865.    SHADEPATTERN AAAA AAAA AAAA AAAA
  866.  
  867. TIMEFONT <fontname.font> <size>
  868.    [changed in the Playing / Video menu selection]
  869.    Sets the time-font.  This font is used for the running clock display.
  870.    It is also the default font used while timing scripts.  This font should
  871.    be a fixed-width, mono-color font, sufficiently large to be legible when
  872.    recorded on your videotape.  MAXIMUM <size> is 24.  If the specified
  873.    font is not found, the Topaz 9 ROM font will be used.
  874.    Default:
  875.    TIMEFONT JACOsub.font 18
  876.  
  877. USEBLITTER <YES or NO>
  878.    [changed in the Playing / Video menu selection]
  879.    This setting is difficult to explain.
  880.  
  881.    JACOsub generates a new video frame for each time event specified in a
  882.    script.  If the time ranges for different titles overlap, then some
  883.    titles must exist on more than one frame in order to endure through the
  884.    overlapping time events from other titles.  Generating the same text
  885.    again and again on different frames might slow down the program, so
  886.    JACOsub uses the Amiga blitter to duplicate text strings between video
  887.    frames.
  888.  
  889.    This advantage in speed also has a disadvantage:  If the text was
  890.    initially generated over other imagery already on the screen (such as an
  891.    IFF brush or a shaded rectangle background), a portion of this imagery
  892.    will get blitted into the other frames along with the text.  But suppose
  893.    you did not want this imagery to survive into subsequent frames?  You
  894.    can disable blitter operations, forcing all text to be generated
  895.    into each frame (instead of copying using the blitter), by specifying NO
  896.    for this parameter.  Regardless of this setting, the blitter is NOT used
  897.    to copy text if IFF graphic backgrounds change between subsequent frames.
  898.    Default:
  899.    USEBLITTER YES
  900.  
  901. Video Display Settings
  902. ----------------------
  903.  
  904. BITPLANES <number of bitplanes>
  905.    [changed in the Playing / Video menu selection]
  906.    Sets number of bitplanes per video buffer.  2 to the power of this
  907.    number is the number of colors available.  Maximum bitplanes is 2 if
  908.    SUPERHIRES is set.  You shouldn't need to set this greater than 4 (for
  909.    16 colors).
  910.    Default:
  911.    BITPLANES 2        # 2 bitplanes = 4 colors
  912.  
  913. DISPLAYSIZE <width> <height>
  914.    [changed in the Playing / Video menu selection]
  915.    Sets the size of the playing display.  <width> should be a multiple of
  916.    16, greater than or equal to 640.  <height> should be greater than or
  917.    equal to 400.  If <width> is less than 800 and HRES (below) is set to
  918.    SUPERHIRES, then <width> will be doubled internally.  If <width> is
  919.    greater than 800 and HRES is set to HIRES, then <width> will be halved.
  920.    THE WIDTH MUST BE A MULTIPLE OF 32.  If it is not, JACOsub will round it
  921.    to the nearest multiple.  Strange behavior (font skewing, random pixels)
  922.    can result if the display width is not a multiple of 32.
  923.    Default:
  924.    DISPLAYSIZE 640 400
  925.  
  926. GENLOCK <GENERIC or SUPERGEN or GVP or TOASTER> [DEFAULT or NTSC or PAL]
  927.    [changed in the Playing / Video menu selection]
  928.    The first argument specifies how the program should interpret genlock
  929.    fader control commands in a script (see the "Directive" section in the
  930.    format specification documentation JScripts.doc).  GENERIC or NONE will
  931.    cause such commands to be ignored.  Otherwise JACOsub will attempt to
  932.    control the type of genlock specified.  Currently only the Digital
  933.    Creations SuperGen is supported, using supergen.library 2.0 or higher.
  934.    GVP genlocks can cause crashes when a program tries to load an IFF file
  935.    without using GVP's own proprietary file loader.  Setting GENLOCK to GVP
  936.    will cause JACOsub to look for a script called gvpfade.jsrx for genlock
  937.    fading (see the file ARexx.doc for details), and it will also cause a
  938.    compile warning to be issued if your script tries to load an IFF file.
  939.    The script will still compile properly, however.
  940.    TOASTER specifies the NewTek video toaster, which like the GVP must be
  941.    controlled through ARexx, and requires a script called toasterfade.jsrx.
  942.    The second argument tells JACOsub what kind of display your genlock
  943.    wants.  Some genlocks are only NTSC compatible, ane some are PAL.  The
  944.    DEFAULT argument causes the playing display to be created as _either_
  945.    NTSC or PAL, depending on how your Workbench is set.  If you have a PAL
  946.    Amiga with an NTSC genlock, you should set this parameter to NTSC.  This
  947.    display type parameter is ignored in AmigaDOS 1.3 or lower.
  948.    Default:
  949.    GENLOCK GENERIC DEFAULT
  950.  
  951. HRES <HIRES or SUPERHIRES>
  952.    [changed in Playing / Video menu selection or with #H script command]
  953.    Sets display horizontal resolution mode.  SUPERHIRES will work only if
  954.    your Amiga has the complete ECS or AGA chipsets, and your AmigaDOS
  955.    version is 2.0 or better.  Otherwise, SUPERHIRES will be interpreted
  956.    as HIRES, which is the default horizontal resolution for Workbench.
  957.    Amigas with the ECS chipset are limited to 4 colors in superhires mode.
  958.    Default:
  959.    HRES HIRES
  960.  
  961. PALETTE <n> <red> <green> <blue>
  962.    [changed in Playing / Video menu selection or with #P script command]
  963.    Sets the red, green, and blue CRT beam intensities for color <n>.  <n>
  964.    may range from 0 to 15 (although the maximum used will be determined by
  965.    the BITPLANES setting).  <red>, <green>, and <blue> may range from 0
  966.    (off) to 15 (maximum) although for NTSC friendliness you should probably
  967.    not go beyond 13 or 14.  This initial palette may be changed by your
  968.    script (see the #P command), and it is active only when a script is
  969.    playing.  You cannot change the palette for the editor window.
  970.    Defaults (please give us feeback if you have better settings!):
  971.    PALETTE 0   9 10 11       # background (transparent when genlocked)
  972.    PALETTE 1   1 13  8       # ALTERNATE font face color
  973.    PALETTE 2   0  0  0       # font outline/shadow color (SHOULD BE DARK)
  974.    PALETTE 3  13 13  5       # PRIMARY font face color
  975.    PALETTE 4  13  0  0       # red - remaining settings are arbitrary
  976.    PALETTE 5  13 10  5       # orange
  977.    PALETTE 6  13  8 13       # light magenta / hot pink
  978.    PALETTE 7   0 13 14       # cyan
  979.    PALETTE 8  11  7  3       # brown
  980.    PALETTE 9  13 11  9       # light beige
  981.    PALETTE 10  5 10 14       # deep sky blue
  982.    PALETTE 11  3  3  3       # gray shades...
  983.    PALETTE 12  6  6  6
  984.    PALETTE 13  8  8  8
  985.    PALETTE 14 11 11 11
  986.    PALETTE 15 13 13 13
  987.  
  988. TIMERTYPE <EVENT or POLLED or EXTERNAL>
  989.    [changed in the Playing / Video menu selection]
  990.    Sets the timer type for playing or timing scripts.  EVENT is the normal
  991.    event-driven interal timer, efficient and multitasking-friendly.  POLLED
  992.    causes the internal timer to be polled continuously for time updates
  993.    instead of having the program go to sleep and wait for the next time
  994.    event -- the running clock display, for example, forces the program to
  995.    switch over to POLLED timing.  You can force it permanently by setting
  996.    POLLED.  EXTERNAL is an external timer, like a timecode reader.  It's
  997.    not yet implemented, and behaves the same as EVENT for now.
  998.    When timing scripts, the timer is always polled, whether internal or
  999.    external.
  1000.    Default:
  1001.    TIMERTYPE EVENT
  1002.  
  1003. TOPLEFT <x offset> <y offset>
  1004.    [changed immediately prior to playing a script]
  1005.    If your play screen is centered on your RGB monitor, it will likely NOT
  1006.    be centered when you record the video signal on a VCR or view this
  1007.    signal on a television screen.  The TOPLEFT setting determines where the
  1008.    top left corner of the play screen will be.  YOU SHOULD NOT SET THIS
  1009.    YOURSELF in JACOsub.cfg.  JACOsub will let you center the screen before
  1010.    playing your script (AmigaDOS 2.0+ only), and you can save the settings
  1011.    later by selecting "Save config" from the Config menu.
  1012.  
  1013.    This setting works only under AmigaDOS 2.0 and above.  Under 1.3, you
  1014.    must first center your Workbench screen on your television using
  1015.    Preferences, before running JACOsub.
  1016.    Default:
  1017.    The top left corner of your Workbench screen is used for this setting.
  1018.  
  1019. VIDEOBUFFERS <number of buffers>
  1020.    [changed in the Playing / Video menu selection]
  1021.    Sets the number of video buffers to use for building displays.  Minimum
  1022.    number allowed is 3, maximum is 7.  Set to 3 if you are low on CHIP RAM,
  1023.    of if your script doesn't do time-consuming complicated things (such as
  1024.    generate outlines around a screenful of text with a graphics backdrop).
  1025.    Increase the number of buffers ONLY if you notice that JACOsub is
  1026.    generating imagery on the visible screen (all image generation should
  1027.    take place in the background where you cannot see it).
  1028.    Default:
  1029.    VIDEOBUFFERS 4
  1030.  
  1031.  
  1032. End of JACOsub.doc.  See JScripts.doc for details about scripts.
  1033.